<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>对继承的重新理解</title>
</head>
<body>
<script>
    function Person() {
        this.name = 'A'
    }

    Person.prototype.get = function () {
        return 1
    }

    Person.prototype.name = 'B'

    function Student() {

    }


    /*
    * 如果这里不修改Student.prototype的话 Student.prototype.[[prototype]] (__proto__) 指向的是Object.prototype
    * 为什么会这样呢?因为 Student.prototype要么是null要么是对象 是对象的话也就意味着 Student.prototype = new Object()
    * Student.prototype就是Object的实例对象 同理会访问 Object.prototype
    *
    * 当然上面所说的是搜索路径  子类最后会访问到父类的原型上(在此之前会依次在自己身上找,在父类身上找,在父类的原型上找)
    * 只要有一处找到了就不会继续找了
    *
    *
    *
    *
    * */
    Student.prototype = new Person()
    Student.prototype.constructor = Student

    let s = new Student()
    console.log(s.get())
    console.log(s.name)


</script>
</body>
</html>